package com.helloae;

import java.io.IOException;

import com.esri.arcgis.carto.Map;
import com.esri.arcgis.carto.MapDocument;
import com.esri.arcgis.system.AoInitialize;
import com.esri.arcgis.system.EngineInitializer;
import com.esri.arcgis.system.esriLicenseProductCode;

/**
 * 获得mxd的缩略图和mxd第一个Data Frame的范围。 
 * @author zhushijie
 */
public class GetThumbnail {

	public static void main(String[] args) throws IOException {
		EngineInitializer.initializeEngine();
		AoInitialize ao = new AoInitialize();
		ao.initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
		
		//如果要跨平台，不宜使用这种写法，反斜杠(\)最好使用File.separator表示
		String path = "E:\\zhu\\temp\\search.mxd";
//		String path = "E:\\net\\a\\test.mxd";
		
		//获得mxd第一个Data Frame的范围。这里只获得了左下角点坐标，右上角类似
		MapDocument mapDoc = new MapDocument();
		if(mapDoc.isPresent(path) && !mapDoc.isRestricted(path) 
				&& mapDoc.isMapDocument(path) && !mapDoc.isPasswordProtected(path)){
			mapDoc.open(path, "");//打开mxd文件
			Map pMap = (Map) mapDoc.getMap(0);
			System.out.println(pMap.getFullExtent().getLowerLeft().getX());
			System.out.println(pMap.getFullExtent().getLowerLeft().getY());
		}
		
		//下面的代码是获得mxd缩略图并存储为PNG格式
		//如果mxd文件没有创建缩略图，那么这里的pic将会是null，正式使用，这里应该判断pic是否为空。
//		IPicture pic = mapDoc.getThumbnail();
//		BufferedImage input = (BufferedImage) pic.toImage();
//		File outFile = new File("c:\\2.png");
//		ImageIO.write(input, "PNG", outFile);
		
		System.out.println("Congratulaction!");
	}

}
